//
// Created by chaseaishang on 23-4-10.
//

#pragma once
#include "test.h"
#include "Render/VertexBuffer.h"
#include "Render/VertexBufferLayout.h"
#include "Render/Texture.h"
#include <memory>
namespace test {
    class TestCubeTex : public Test
    {
    public:
        TestCubeTex();
        virtual ~TestCubeTex();

        virtual void OnUpdate(float deltaTime)override;
        virtual void OnEvent(Event& e)override;
        virtual void OnRender()override;
        virtual void OnImGuiRender() override;
    private:
        std::unique_ptr<VertexArray> m_VAO;
        std::unique_ptr<IndexBuffer> m_IndexBuffer;
        std::unique_ptr<VertexBuffer> m_VertexBuffer;
        std::unique_ptr<Shader> m_Shader;
        std::unique_ptr<CubeTexture> m_Texture;

        glm::mat4 m_Proj, m_View;
        float m_rotate[3];
        glm::vec3 m_TranslationA, m_TranslationB;

    };
}



